TCP/IP (Transmission Control Protocol/Internet Protocol) was developed to address the needs of asynchronized one-to-one communication patterns between systems connected over the Internet. The asynchronous one-to-one communication implemented through TCP is designed specifically to solve communication problems related to communications between geo-distributed and loosely coupled systems, typically associated with the Internet. However, in data centers, huge numbers of servers are located in the same geo-location and, typically, utilize one-to-many or many-to-one communication patterns to effect parallel processing.
In order to support the one-to-many and many-to-one communications, data centers utilize multiple one-to-one TCP connections. This approach, essentially, builds many unicast TCP based overlays for each of the one-to-many or many-to-one communications. However, it is often the case that the TCP connection setup requires more time than the actual delivery of the data and each of the overlays consumes precious network bandwidth, as a single packet may be transmitted many times along the same path.